package com.ops.uitl.data;

import java.util.Map;
import java.io.Serializable;

public interface IData extends Map, Serializable {

	/**
	 * get object
	 * @param name
	 * @return Object
	 */
	public Object get(Object name);
	
	/**
	 * get object
	 * @param name
	 * @param def
	 * @return Object
	 */
	public Object get(String name, Object def);
	
	/**
	 * get names
	 * @return String[]
	 */
	public String[] getNames();
	
	/**
	 * get names 
	 * @param sort
	 * @return
	 */
	public String[] getNames(boolean sort);
	
	/**
	 * get string
	 * @param name
	 * @return String
	 */
	public String getString(String name);
	
	/**
	 * get string
	 * @param name
	 * @param defaultValue
	 * @return String
	 */
	public String getString(String name, String defaultValue);
	
	/**
	 * get int
	 * @param name
	 * @return int
	 */
	public int getInt(String name);

	/**
	 * get int
	 * @param name
	 * @param defaultValue
	 * @return int
	 */
	public int getInt(String name, int defaultValue);
	
	
	/**
	 * get double
	 * @param name
	 * @return double
	 */
	public double getDouble(String name);
	
	/**
	 * get double
	 * @param name
	 * @param defaultValue
	 * @return double
	 */
	public double getDouble(String name, double defaultValue);
	
	/**
	 * get boolean
	 * @param name
	 * @return boolean
	 */
	public boolean getBoolean(String name);
	
	/**
	 * get boolean
	 * @param name
	 * @param defaultValue
	 * @return boolean
	 */
	public boolean getBoolean(String name, boolean defaultValue);
	
	/**
	 * get data
	 * @param name
	 * @return IData
	 */
	public IData getData(String name);
	
	/**
	 * get data
	 * @param name
	 * @return IDataset
	 */
	public IDataset getDataset(String name);
	
	/**
	 * to dataset
	 * @return IDataset
	 */
	public IDataset toDataset() throws Exception;
	
	/**
	 * to wade string 
	 * @return String
	 */
	public String toWadeString();

	/**
	 * to bude string 
	 * @return String
	 */
	public String toBudeString();	
	
}